package com.zhongwang.mms.module.buy.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 预购计划表：与采购计划编辑使用一张表结构
 */
@Data
public class BPreOrderPlan {
    /**主键*/
    private Integer id;
    /**预购主题*/
    private String name;
    /**预购编码 自动流水编码“YG_年月日+流水号”批次号*/
    private String code;
    /**预购日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**预购日期 开始 */
    private Date createTimeStartTime;
    /**预购日期 结束 */
    private Date createTimeEndTime;
    /**申请人ID*/
    private Integer applicantId;
    /**申请人*/
    private String applicant;
    /**指派业务员*/
    private String assignPurchaser;
    /**发起变更标识 1是变更 0是未变更*/
    private Integer	changeFlag;
    /**物料编码*/
    private String materialCode;
    /**物料描述*/
    private String materialDesc;
    /**物料跟踪号*/
    private String trackNumber;
    /**预购项目号*/
    private String proCode;
    /**预购项目名*/
    private String proName;
    /**业务员*/
    private String purchaser;
    /**数量*/
    private BigDecimal num;
    /**单位*/
    private String unit;
    /**采购合同编号*/
    private String pcNo;
    /**采购数量*/
    private BigDecimal purchNum;
    /**收货数量*/
    private BigDecimal receivedNum;
    /**采购单位*/
    private String purchUnit;
    /**税率*/
    private String taxRate;
    /**票据类型*/
    private String billType;
    /**含税单价*/
    private BigDecimal unitPrice;
    /**总价*/
    private	BigDecimal totalPrice;
    /**采购日期*/
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date purchCreate;
    /**导出记录*/
    private String exportRecord;
    /**采购备注*/
    private String purchRemark;
    /** 单据审核状态 0=删除，1=未提交，2=已提交，3=被驳回，4=撤消，5=全部审核通过，6=指派 */
    private Integer	status;
    private String	statusStr;
    /**采购状态：0是未采购，1是未采购，3采购完成*/
    private Integer	purchStatus;
    /**收货状态：1是未收货，2是已完成，3是无需收货*/
    private Integer	receiptStatus;
    /**品牌*/
    private String brand;
    /**型号*/
    private String model;
    /**预购备注*/
    private String preOrderRemark;
    /**附件*/
    private String attachment;
    /**附件名称*/
    private String attachmentName;
    /** 所长审核状态 */
    private Integer verifyStatus;
    /** 所长审核标识 */
    private Integer verifyCur;
    /** 科长审核状态 */
    private Integer reviewStatus;
    /** 科长审核标识 */
    private Integer reviewCur;
    /** 审核者ID */
    private Integer verifier;
    /** 审核人 */
    private String verifyName;
    /** 审核人 */
    private String verifyName1;
    /** 审核记录ID */
    private Integer verifyProcessId;
    /** 是否是当前审核者 */
    private Integer cur;
    /** 是否是最后一步审核 0不是 1是 */
    private Integer comp;
    /** 驳回状态 */
    private Integer rejectStatus;
    /** 是否是第一步审核 0不是 1是 */
    private Integer start;
    /** 驳回原因 */
    private String rejectReason;
    /** 指派采购员id */
    private Integer assignPurchaserId;
    /** 供应商 */
    private String supplier;
    /** 数据显示模式： 1是汇总 2是明细*/
    private Integer dataDisplayMode;
    /** 采购日期 开始 */
    private Date purchCreateStartTime;
    /** 采购日期 结束 */
    private Date purchCreateEndTime;
    /** 搜索条件 采购状态 1是未采购 2是已采购 */
    private Integer isProcurement;
    /** 搜索条件 预购数量 下限 */
    private BigDecimal minNum;
    /** 搜索条件 预购数量 上限 */
    private BigDecimal maxNum;
    /** 搜索条件 采购数量 下限 */
    private BigDecimal minPurchNum;
    /** 搜索条件 采购数量 上限 */
    private BigDecimal maxPurchNum;
    /** 搜索条件 含税单价 下限 */
    private BigDecimal minUnitPrice;
    /** 搜索条件 含税单价 上限 */
    private BigDecimal maxUnitPrice;
    /** 搜索条件 总价 下限 */
    private BigDecimal minTotalPrice;
    /** 搜索条件 总价 上限 */
    private BigDecimal maxTotalPrice;
    /** 搜索条件 是否有附件 0全部 1有附件 2没有附件 */
    private Integer attachmentIsExist;
    /** 搜索条件 选中的采购计划的物料跟踪号 */
    private String selectedTrackNumber;
    /** 控制是否可以在预购编辑页面驳回 1是未采购 2是采购 当为1的时候可以驳回 1值为当前相同预购编码所有计划都未进行采购 2值为当前相同预购编码有一个计划进行了采购极客为2 */
    private Integer procurementStatus;


}
